using System.Collections.Generic;
using Mono.Cecil;

namespace EzDeploy.Core
{
    public class AssemblyDefinitionComposite
    {
        readonly AssemblyNameReference _assemblyName;
        readonly AssemblyDefinition _assembly;
        readonly VersionStatus _status;
        readonly bool _hasKey;
        Dictionary<string, string> _attributes;

        public AssemblyDefinition Assembly
        {
            get
            {
                return _assembly;
            }
        }

        public AssemblyNameReference AssemblyName
        {
            get
            {
                return _assemblyName;
            }
        }

        public VersionStatus Status
        {
            get
            {
                return _status;
            }
        }

        public Dictionary<string, string> Attributes
        {
            get
            {
                if (_attributes == null)
                    _attributes = new Dictionary<string, string>();
                return _attributes;
            }
        }

        public AssemblyDefinitionComposite(AssemblyDefinition assembly, AssemblyNameReference assemblyName, VersionStatus status)
        {
            _status = status;
            _assembly = assembly;
            _assemblyName = assemblyName;
        }
    }
}
